/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.admin.entity;

import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.core.tenant.mp.TenantEntity;

/**
 * 供应商表实体类
 *
 * @author ysq
 * @since 2023-08-09
 */
@Data
@TableName("blade_supplier")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Supplier对象", description = "供应商表")
public class Supplier extends TenantEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 供应商编号
	 */
	@ApiModelProperty(value = "供应商编号")
	private Integer code;
	/**
	 * 编号前缀
	 */
	@ApiModelProperty(value = "编号前缀")
	private String prefixCode;
	/**
	 * 供应商名称
	 */
	@ApiModelProperty(value = "供应商名称")
	private String name;
	/**
	 * 供应商等级 1-一级，2-二级，以此类推
	 */
	@ApiModelProperty(value = "供应商等级 1-一级，2-二级，以此类推")
	private Integer supplierLeave;
	/**
	 * 签约开始日期
	 */
	@ApiModelProperty(value = "签约开始日期")
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	private LocalDateTime startTime;
	/**
	 * 签约结束日期
	 */
	@ApiModelProperty(value = "签约结束日期")
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	private LocalDateTime endTime;
	/**
	 * 结算方式 1-月结，2-季结，3-现结
	 */
	@ApiModelProperty(value = "结算方式 1-月结，2-季结，3-现结")
	private Integer paymentMode;
	/**
	 * 省
	 */
	@ApiModelProperty(value = "省")
	private String provinceName;
	/**
	 * 省code
	 */
	@ApiModelProperty(value = "省code")
	private String provinceCode;
	/**
	 * 市
	 */
	@ApiModelProperty(value = "市")
	private String cityName;
	/**
	 * 市code
	 */
	@ApiModelProperty(value = "市code")
	private String cityCode;
	/**
	 * 区
	 */
	@ApiModelProperty(value = "区")
	private String adName;
	/**
	 * 区code
	 */
	@ApiModelProperty(value = "区code")
	private String adCode;
	/**
	 * 详细地址
	 */
	@ApiModelProperty(value = "详细地址")
	private String address;
	/**
	 * 联系电话
	 */
	@ApiModelProperty(value = "联系电话")
	private String phone;
	/**
	 * 合同附件url
	 */
	@ApiModelProperty(value = "合同附件url")
	private String contractFiles;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String remark;
	/**
	 * 发票抬头
	 */
	@ApiModelProperty(value = "发票抬头")
	private String invoiceTitle;
	/**
	 * 开户银行
	 */
	@ApiModelProperty(value = "开户银行")
	private String bankName;
	/**
	 * 银行账号
	 */
	@ApiModelProperty(value = "银行账号")
	private String bankAccount;
	/**
	 * 税种：1-纸质专票，2-纸质普票，3-电子专票，4-电子普票
	 */
	@ApiModelProperty(value = "税种：1-纸质专票，2-纸质普票，3-电子专票，4-电子普票")
	private Integer taxMode;
	/**
	 * 税率(%)
	 */
	@ApiModelProperty(value = "税率(%)")
	private Integer taxRate;

	@ApiModelProperty(value = "供应商类别id")
	private Long classificationId;

}
